An Easy-to-Use Toolkit for Efficient Java Bytecode Translators
نویسندگان
چکیده
This paper presents our toolkit for developing a Java-bytecode translator. Bytecode translation is getting important in various domains such as generative programming and aspect-oriented programming. To help the users easily develop a translator, the design of our toolkit is based on the reflective architecture. However, the previous implementations of this architecture involved serious runtime penalties. To address this problem, our toolkit uses a custom compiler so that the runtime penalties are minimized. Since the previous version of our toolkit named Javassist has been presented in another paper, this paper focuses on this new compiler support for performance improvement. This feature was not included in the previous version.
منابع مشابه
FIST: A Framework for Instrumentation in Software Dynamic Translators
Software dynamic translators (SDT) typically monitor, profile, and affect the execution of a program. Such systems have been used to build many useful applications, including dynamic code optimizers for binary machine code and Java bytecode, software security checkers, binary translators, code profilers and program introspection tools. While all of these systems use program instrumentation, the...
متن کاملA profiler and compiler for the Wonka Virtual Machine
D at ACUNIA , Wonka is an open source Virtual Machine (VM) for executing Java bytecode methods. Wonka is a self-contained, clean-room VM implementation designed for use in embedded systems and is targeted towards Java 2 compliance: it has no dependence on external libraries (except for libc) and comes with all the essential standard class libraries (Foundation Profile/CDC), including an Abstrac...
متن کاملUsing the ASM framework to implement common Java bytecode transformation patterns
Most AOP frameworks targeting the Java platform use a bytecode weaving approach as it is currently considered the most practical solution. It allows applying cross-cutting concerns to Java applications when source code is not available, is portable and works on existing JVMs, in comparison to VM-level AOP implementations. Load-time bytecode weaving (LTW), which happens right before the applicat...
متن کاملNetprof: Network-based High-level Prooling of Java Bytecode
In this paper we present a system for network based visualization of proole information generated by Java applets/bytecode. The system, called NetProf, is composed of several components each of which is interesting in their own right. The components are a bytecode to Java source code translator, a prooler that includes a static pass to insert prooler code, a dynamic runtime library that records...
متن کاملSTOOP: The Sable Toolkit for Object-Oriented Profiling
− instrumented Java class files produced from existing programs using Soot (www.sable.mcgill.ca/soot), a framework for analyzing and transforming Java bytecode. The transformed classes report their own field accesses as well as method entries and exits. Profiling agents provide raw data to the rest of the STOOP framework. Data may originate from a wide variety of sources. For example, traces of...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
دوره شماره
صفحات -
تاریخ انتشار 2003